If - Let Yapıları
If let
yapıları match yapılarını yazmanın kısa yolu olarak sadece tek bir duruma karşılık gelecek şekilde yazabiliriz. Ayrıca bu yapıya else
ekleyerek tüm kümeyi kapsayabiliriz. Bu yapıyı oluşturmak için enum
yapısı ile oluşturduğumuz değerleri Some()
yapısı ile birleştirebiliriz.
let dog2 = Some(EvcilHayvan::kopek);
if let Some(EvcilHayvan::kopek) = dog2 {
println!("Bu bir köpüştür");
} else {
println!("Köpüş değildir bu aa");
}
Aynı zamanda let
yapısını while dögülerinde de kullanabiliriz.
let mut stack = Vec::new();
stack.push(1);
stack.push(2);
stack.push(3);
while let Some(top) = stack.pop(){
println!("{}", top);
}
// 3
// 2
// 1
Kodumuzu anlatmamız gerekirse ilk olarak bir vektör oluşturarak içerisine 1,2,3 değerlerini gireriz. Sonrasında while let
döngüsü içerisinde listeden pop yapmamıza izin verilen her değeri sırasıyla yazdırırız.